草庐IT

git reset --merge 与 git reset --keep

全部标签

Git:将旧提交 merge 到当前头版本

有一个文件有两个感兴趣的提交,都在Master分支上,都只修改一个文件foo:一个先前的提交AA,以及HEAD中的当前版本。我想将文件的两个版本merge到Master上的HEAD中,同时保留两个版本。我做了我认为可行的最简单的事情:gitcheckout-bmerge-purgatoryAAgitcommit-m"pulledfoobackfrompreviouscommitformergingintoHEAD."gitcheckoutmastergitmergemerge-purgatory它只是用AA版本覆盖foo的当前HEAD版本。也尝试了更详细的gitcheckout-m,同

git - 为什么 git svn dcommit 会丢失本地分支的 merge 提交历史?

我有一个使用gitsvnclone创建的本地git存储库。我创建了一个本地分支,进行了一些更改,然后切换回master,gitsvnrebase如果一切正常,我将我的分支merge回master。然后树看起来像这样:alttexthttp://img.skitch.com/20090108-cjguu3hcci9x2k17mcftamw8f1.jpg有时,稍后当我再次gitsvnrebase并进行一些远程更改时,它会丢失a_branch被merge到主线中的事实,树看起来像这样:alttexthttp://img.skitch.com/20090108-kn3bn1qgi5ijw8ja

git - 为什么 git svn dcommit 会丢失本地分支的 merge 提交历史?

我有一个使用gitsvnclone创建的本地git存储库。我创建了一个本地分支,进行了一些更改,然后切换回master,gitsvnrebase如果一切正常,我将我的分支merge回master。然后树看起来像这样:alttexthttp://img.skitch.com/20090108-cjguu3hcci9x2k17mcftamw8f1.jpg有时,稍后当我再次gitsvnrebase并进行一些远程更改时,它会丢失a_branch被merge到主线中的事实,树看起来像这样:alttexthttp://img.skitch.com/20090108-kn3bn1qgi5ijw8ja

Git 基础 - merge 回 master

我是git的新手。我创建了一个分支,进行了更改,现在我想merge回master以使它们“永久化”。所以我执行了gitmerge1.2报告为已经是最新的,在master上执行了相同的操作得到了相同的结果,并尝试了merge-vHEADmaster这给了我一个稍微不同的最新消息。那么我做的对吗?我应该做点别的吗?如何切换回主分支? 最佳答案 您需要在master分支上才能merge到它。gitcheckoutmastergitmergesome_development_effort 关于G

Git 基础 - merge 回 master

我是git的新手。我创建了一个分支,进行了更改,现在我想merge回master以使它们“永久化”。所以我执行了gitmerge1.2报告为已经是最新的,在master上执行了相同的操作得到了相同的结果,并尝试了merge-vHEADmaster这给了我一个稍微不同的最新消息。那么我做的对吗?我应该做点别的吗?如何切换回主分支? 最佳答案 您需要在master分支上才能merge到它。gitcheckoutmastergitmergesome_development_effort 关于G

git - 在进行手动 merge 后,我是否应该删除提交消息中的冲突列表?

假设我运行gitpull并且存在git无法自动merge的冲突。在我手动merge更改并运行gitcommit之后,我是否应该保留git在提交中生成的Conflicts:部分(作为那些文件被提交的记录)手动merge)或将其删除(因为未提交冲突)?我永远不确定什么是最佳实践-那里的警告是为了确保您修复冲突,还是实际记录在提交消息中? 最佳答案 这似乎是个人意见类型的问题,所以我会回答我的意见[-;我将Conflicts部分单独留下,以提醒您此merge产生了冲突。有时我没有适本地处理冲突,它会在以后产生一些不良影响,所以能够查看提交

git - 在进行手动 merge 后,我是否应该删除提交消息中的冲突列表?

假设我运行gitpull并且存在git无法自动merge的冲突。在我手动merge更改并运行gitcommit之后,我是否应该保留git在提交中生成的Conflicts:部分(作为那些文件被提交的记录)手动merge)或将其删除(因为未提交冲突)?我永远不确定什么是最佳实践-那里的警告是为了确保您修复冲突,还是实际记录在提交消息中? 最佳答案 这似乎是个人意见类型的问题,所以我会回答我的意见[-;我将Conflicts部分单独留下,以提醒您此merge产生了冲突。有时我没有适本地处理冲突,它会在以后产生一些不良影响,所以能够查看提交

git - 为什么 Gerrit 不将 change-id 包含到 merge 提交中?

所以git钩子(Hook)只会将更改Id放入提交中。尽管可以将merge提交推送到审查分支,但即使Gerrit被配置为需要提交消息中的Change-Id。当merge提交被推送时,所有后续提交都将取决于merge提交——因为没有更改ID。那么不将更改Id包含到merge提交中的目的是什么? 最佳答案 Git中的潜在问题是commit-msg钩子(Hook)不会被调用用于没有冲突的merge提交。但是,prepare-commit-msg会为(任何)merge提交调用。因此,我目前为使Gerrit的Change-Id也添加到没有冲突的

git - 为什么 Gerrit 不将 change-id 包含到 merge 提交中?

所以git钩子(Hook)只会将更改Id放入提交中。尽管可以将merge提交推送到审查分支,但即使Gerrit被配置为需要提交消息中的Change-Id。当merge提交被推送时,所有后续提交都将取决于merge提交——因为没有更改ID。那么不将更改Id包含到merge提交中的目的是什么? 最佳答案 Git中的潜在问题是commit-msg钩子(Hook)不会被调用用于没有冲突的merge提交。但是,prepare-commit-msg会为(任何)merge提交调用。因此,我目前为使Gerrit的Change-Id也添加到没有冲突的

git - 为什么我不能将 git merge --squash 与 --no-ff 一起使用?

我正在尝试将gitmerge--squash与--no-ff参数一起使用,但git不允许。有人有任何建议可以帮助我吗?我不能使用快进merge,我需要使用--squash参数对在另一个分支中进行的大量提交进行分组。谢谢! 最佳答案 它可能不允许您这样做,因为这样的命令没有意义。--squash的文档说(强调我的):--squashProducetheworkingtreeandindexstateasifarealmergehappened(exceptforthemergeinformation),butdonotactually